package com.xigua._数学;

import java.util.ArrayList;
import java.util.List;

/**
 * @author LiRongHua
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: lice 和 Bob 再次设计了一款新的石子游戏。现有一行 n 个石子，每个石子都有一个关联的数字表示它的价值。
 * 给你一个整数数组 stones ，其中 stones[i] 是第 i 个石子的价值。
 *Alice 和 Bob 轮流进行自己的回合，Alice 先 手。每一回合，玩家需要从 stones 中移除任一石子。
 *如果玩家移除石子后，导致 所有已移除石子 的价值 总和 可以被 3 整除，那么该玩家就 输掉游戏 。
 *如果不满足上一条，且移除后没有任何剩余的石子，那么 Bob 将会直接获胜（即便是在 Alice 的回合）。
 *假设两位玩家均采用 最佳 决策。如果 Alice 获胜，返回 true ；如果 Bob 获胜，返回 false 。
 * @date 2022/1/2014:36
 */
public class _2029_石子游戏IX {
    public static void main(String[] args) {
        stoneGameIX(new int[]{2,1});

    }

    public static boolean stoneGameIX(int[] stones) {
        int length = stones.length;
        if (length == 1) return false;
        int num0 = 0, num1 = 0,num2 = 0;
        for (int i = 0; i < length; i++) {
            int num = stones[i]%3;
            if (num == 0) num0++;
            if (num == 1) num1++;
            if (num == 2) num2++;
        }
        if (num0 % 2 ==0) {
            return num1 >= 1 && num2 >=1;
        }
        return num2-num1>2 || num1 - num2 >2;
    }
}
